#include <REGX52.H>

/**
 * 函    数：延时函数 毫秒
 * 参    数：ms 延时多少毫秒
 * 返 回 值：无
 */
void Delay_ms(int ms)	//@12.000MHz
{
	unsigned char data i, j;
	while(ms--)
	{ 
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}

/**
 * 函    数：主函数
 * 参    数：无
 * 返 回 值：无
 */
void main()
{
	int LED_Num=0;	//定义变量LED_Num 表示第几个LED
	P2=0xFE;		//上电后默认第一个LED D1点亮
	while(1)
	{
		if(P3_1==0)				//如果K1按键按下
		{
			Delay_ms(15);		//延时消抖
			while(P3_1==0);		//松手检测 一直按着没松手
			Delay_ms(15);		//延时消抖				
			LED_Num--;			//变量减1
			if(LED_Num<0)		
			{
				LED_Num=7;		//当最左边一个灯亮后，下一个是最右边一个灯亮
			}
		}
		if(P3_0==0)				//如果K2按键按下
		{
			Delay_ms(15);		//延时消抖
			while(P3_0==0);		//松手检测 一直按着没松手
			Delay_ms(15);		//延时消抖		
			LED_Num++;			//变量加1
			if(LED_Num==8)
			{
				LED_Num=0;		//当最右边一个灯亮后，下一个是最左边一个灯亮
			}
		}
		P2=~(0x01<<LED_Num);	//左移对应位后取反  设置LED的亮灭
	}
}
